Cycle Results Data Cleanup

It is recommended to regularly clean AsCycle and AsCycleDetail tables, ideally daily, if Cycles are run each day during nightly batch process. Cycle results may be required for reporting purpose. The data can be off-loaded to an alternate tables, or may be kept for a week and must clean weekly, if number of activities processed per day is not large. This process can be automated by enabling Cycle.cleanup = true in Cycle.properties configuration file. By default, this will schedule for daily purges.

Logging

Logging can be bottleneck, if lot of data is being written to the log files. Following are some of the general best practices.

  • Ensure log rotation is on on each of the server. Log rotation, will keep the log file size in check, and will not let I/O process slow down when writing to large byte size files.

  • Ensure only INFO logging is on. Reducing amount of logging to bare minimum in extensions as well as other application components such as coherence, application serve logs etc.

  • Ensure SQL logs are switched off in PAS properties.

  • Ensure generated classes are switched off, when not needed, only in case of DEBUG.

Coherence Cache Configuration

<?xml version="1.0"?>

<!-- <!DOCTYPE cache-config SYSTEM "cache-config.dtd"> -->

<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"

xmlns:c="class://com.oracle.coherence.concurrent.config.NamespaceHandler"

xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd class://com.oracle.coherence.concurrent.config.NamespaceHandler concurrent.xsd">

<!-- ============================ -->

<!-- Map Caches to the NearScheme -->

<!-- ============================ -->

<!-- Fixed Cache Pool for Coherence Distributed Task Processing, the system-property allows the property to be overridden via JVM_ARGS using -D option -->

<c:fixed>

<c:name system-property="executor.name">Single-Cache</c:name>

<c:thread-count system-property="cycle.thread.count”>15</c:thread-count>

</c:fixed>

The following are possible changes to this file:

  • Modify the thread-pool size using <c:thread-count> based on performance evaluation and observed workload characteristics, it is sometimes advisable to increase the number of threads allocated to the thread pool. This can help improve throughput and reduce processing latency, especially under high load conditions. However, any adjustments should be made gradually and monitored closely to ensure system stability and avoid resource contention.

Note: Cycle Client must run as storage-disabled node, since cycle client does not act a a cache node. Cycle client is a command line tool for Cycle command execution.

Example:

Virtual Machine 1

  • 2 CycleAgent JVMs - At least one of them should be storage-enabled=true

  • JVM Argument: -Dtangosol.coherence.distributed.localstorage=true

  • 1 Cycle Client running with storage-enabled=false.

  • JVM Argument: -Dtangosol.coherence.distributed.localstorage=false

Virtual Machine 2

  • 2 CycleAgent JVMs - At least one of them should be storage-enabled=true.

  • JVM Argument: -Dtangosol.coherence.distributed.localstorage=true

  • The above pattern can be repeated for horizontal scaling nodes

CoherenceGrid